package org.edu.modules.terminal.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.edu.modules.course.entity.VeCuzCourse;
import org.edu.modules.liancategory.entity.VeCuzCourseCategory;
import org.edu.modules.maker.entity.VeCuzCourseMaker;
import org.edu.modules.summary.entity.VeCuzCourseSummary;
import org.edu.modules.terminal.entity.VeCuzTerminal;
import org.edu.modules.terminal.entity.VeCuzTerminalCourse;
import org.springframework.stereotype.Repository;

@Mapper
@Repository
public abstract interface VeCuzTerminalMapper
        extends BaseMapper<VeCuzTerminal>
{
    public abstract List<VeCuzTerminal> findAll(Map<String, Object> paramMap);

    public abstract List<VeCuzTerminal> findAllByPage(Map<String, Object> paramMap);

    public abstract IPage<Map<String, Object>> xmsitePageMaps(Page<Map<String, Object>> paramPage, @Param("ew") Wrapper<VeCuzTerminal> paramWrapper);

    public abstract boolean saveTerminal(VeCuzCourse paramVeCuzCourse, VeCuzCourseCategory paramVeCuzCourseCategory, VeCuzCourseMaker paramVeCuzCourseMaker, VeCuzCourseSummary paramVeCuzCourseSummary, VeCuzTerminal paramVeCuzTerminal);

    public abstract IPage<Map<String, Object>> train(Page<Map<String, Object>> paramPage, @Param("ew") Wrapper<VeCuzTerminal> paramWrapper);

    public abstract IPage<Map<String, Object>> makePageMaps(Page<Map<String, Object>> paramPage, @Param("ew") Wrapper<VeCuzTerminalCourse> paramWrapper);

    public abstract IPage<Map<String, Object>> makeedPageMaps(Page<Map<String, Object>> paramPage, @Param("ew") Wrapper<VeCuzTerminalCourse> paramWrapper);
}
